// 1.导入mysql模块
const mysql = require('mysql');
// 2.建立与 Mysql 数据库的连接关系
const db = mysql.createPool({
  host: '127.0.0.1',
  user: 'root',
  password: '980813mm',
  database: 'my_db_01', // 指定要操作哪个数据库
});

// 测试mysql模块能否正常工作
// db.query('select 1', (err, results) => {
//   // mysql模块报错
//   if (err) return console.log(err.message);
//   // 成功执行SQl语句
//   console.log(results);
// });

// 查询users表中所有的数据
// const sqlStr = 'select * from users';
// db.query(sqlStr, (err, results) => {
//   if (err) return console.log(err.message);
//   // 注意：如果执行的是select查询语句，则执行结果是数组
//   console.log(results);
// });

// 向users表中新增一条数据,其中username的值为Spider-Man，password的值为 pcc123
// const user = { username: 'Spider-Man', password: 'pcc123' };
// // 定义待执行sql语句
// const sqlStr = 'insert into users (username,password) value (?,?)';
// // 执行sql语句
// db.query(sqlStr, [user.username, user.password], (err, results) => {
//   // 失败
//   if (err) return console.log(err.message);
//   // 成功
//   // 注意：如果执行的是 insert into语句，则results是一个对象
//   // 可以通过 affectedRows 属性，来判断是否插入数据成功
//   if (results.affectedRows === 1) console.log('插入数据成功');
// });

// 插入数据便捷方式
// const user = { username: 'Spider-Man2', password: 'pcc4321' };
// // 定义待执行sql语句
// const sqlStr = 'insert into users set ?';
// // 执行sql语句
// db.query(sqlStr, user, (err, results) => {
//   // 失败
//   if (err) return console.log(err.message);
//   // 成功
//   // 注意：如果执行的是 insert into语句，则results是一个对象
//   // 可以通过 affectedRows 属性，来判断是否插入数据成功
//   if (results.affectedRows === 1) console.log('插入数据成功');
// });

// 更新用户信息
// const user = { id: '4', username: 'EEE', password: '000' };
// // 定义待执行sql语句
// const sqlStr = 'update users set username=?,password=? where id=?';
// // 执行sql语句
// db.query(sqlStr, [user.username, user.password, user.id], (err, results) => {
//   // 失败
//   if (err) return console.log(err.message);
//   // 成功
//   // 注意：如果执行的是 updata 语句，则results是一个对象
//   // 可以通过 affectedRows 属性，来判断是否插入数据成功
//   if (results.affectedRows === 1) console.log('更新数据成功');
// });

// 更新数据的便捷方式
// const user = { id: '4', username: 'AAAA', password: '000000' };
// // 定义待执行sql语句
// const sqlStr = 'update users set ? where id=?';
// // 执行sql语句
// db.query(sqlStr, [user, user.id], (err, results) => {
//   // 失败
//   if (err) return console.log(err.message);
//   // 成功
//   // 注意：如果执行的是 updata 语句，则results是一个对象
//   // 可以通过 affectedRows 属性，来判断是否插入数据成功
//   if (results.affectedRows === 1) console.log('更新数据成功');
// });

// 删除id为 2 的用户
// 定义待执行sql语句
// const sqlStr = 'delete from users where id=?';
// // 执行sql语句
// db.query(sqlStr, 2, (err, results) => {
//   // 失败
//   if (err) return console.log(err.message);
//   // 成功
//   // 注意：如果执行的是 delete 语句，则results是一个对象
//   // 可以通过 affectedRows 属性，来判断是否插入数据成功
//   if (results.affectedRows === 1) console.log('删除数据成功');
// });

// 标记删除
const sqlStr = 'update users set status=? where id=?';
db.query(sqlStr, [1, 4], (err, results) => {
  if (err) return console.log(err.message);
  if (results.affectedRows === 1) console.log('标记删除数据成功');
});
